package response

import (
	"time"
)

// OrderResponse 订单响应结构体
type OrderResponse struct {
	ID            uint       `json:"ID"`            // 订单ID
	CreatedAt     time.Time  `json:"CreatedAt"`     // 创建时间
	UpdatedAt     time.Time  `json:"UpdatedAt"`     // 更新时间
	OrderNo       *string    `json:"orderNo"`       // 订单编号
	OutTradeNo    *string    `json:"outTradeNo"`    // 商户订单号
	TransactionId *string    `json:"transactionId"` // 微信支付订单号
	UserId        uint       `json:"userId"`        // 用户ID
	UserName      *string    `json:"userName"`      // 用户名称
	ProductId     *int       `json:"productId"`     // 商品ID
	ProductName   *string    `json:"productName"`   // 商品名称
	ProductType   uint       `json:"productType"`   // 商品类型
	ProductSku    *string    `json:"productSku"`    // 商品SKU
	SelectedSpecs *string    `json:"selectedSpecs"` // 用户选择的规格
	UnitPrice     *float64   `json:"unitPrice"`     // 单价
	Quantity      *int       `json:"quantity"`      // 数量
	Amount        *float64   `json:"amount"`        // 订单金额
	Status        uint       `json:"status"`        // 订单状态
	PaymentType   uint       `json:"paymentType"`   // 支付类型
	PayTime       *time.Time `json:"payTime"`       // 支付时间
	TradeState    uint       `json:"tradeState"`    // 微信支付状态
	Remark        *string    `json:"remark"`        // 备注
}

// OrderListResponse 订单列表响应结构体
type OrderListResponse struct {
	List     []OrderResponse `json:"list"`     // 订单列表
	Total    int64           `json:"total"`    // 总数
	Page     int             `json:"page"`     // 当前页
	PageSize int             `json:"pageSize"` // 每页数量
}

// ProductDetailResponse 商品详情响应结构体
type ProductDetailResponse struct {
	ID            uint        `json:"ID"`            // 商品ID
	Name          *string     `json:"name"`          // 商品名称
	ProductType   uint        `json:"productType"`   // 商品类型
	Thumbnail     string      `json:"thumbnail"`     // 商品缩略图
	Images        interface{} `json:"images"`        // 商品图片
	Description   *string     `json:"description"`   // 商品详情
	Specification interface{} `json:"specification"` // 规格参数
	Status        *bool       `json:"status"`        // 状态
}
